package com.bookmanger.server.mapper;

import com.bookmanger.pojo.DTO.*;
import com.bookmanger.pojo.Entity.*;
import com.bookmanger.pojo.VO.BorrowVO;
import com.bookmanger.pojo.VO.PrebookVO;
import org.apache.catalina.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface ReaderMapper {

    void updateself(Reader reader);//读者-修改个人信息
    Reader getreader(int id);//读者-获取一个读者信息

    List<BorrowVO> getborrows(int readerId);//读者--查询自己借阅还未归还的书

    List<BorrowVO> getLossBorrows(int readerId);//读者--查询自己借阅未归还且挂失的书

    List<BorrowVO> getReturnedUnapprovedBorrows(int readerId);//读者--查询已归还但未审批的书

    List<BorrowVO> findBorrowRecords(FindRecordDTO findRecordDTO);//读者--分页查询借阅记录

    void renew(RenewDTO renew);//读者-续借图书
    Renew getnews(Renew renew);

    void lossbook(int readerId, int bookId);

    LossBook getlossbook(int readerId, int bookId);

    void cancellossbook(int readerId, int bookId);

    List<Book> getbooks();

    void changepassword(PasswordDTO passwordDTO);

    void returnbook(int readerId, int bookId);

    void returnbookyes(int readerId, int bookId);

    void prebook(PrebookDTO prebookDTO);

    List<PrebookVO> getPrebooks(int readerId);//读者--查询自己的所有有效预定记录

    void cancelPrebook(int id);//读者--取消预约

    List<PrebookVO> getallPrebooks(FindPrebookDTO findPrebookDTO);//获取所有预定记录
}
